<html>
 <head>
  <meta charset="UTF-8">
 </head>
 <body>
  <h1 data-lake-id="XJmHW" id="XJmHW"><span data-lake-id="u1fcf7bcf" id="u1fcf7bcf">典型回答</span></h1>
  <p data-lake-id="uf61a3503" id="uf61a3503"><br></p>
  <p data-lake-id="u58f1c9ee" id="u58f1c9ee"><span data-lake-id="u4e801380" id="u4e801380" class="lake-fontsize-12" style="color: rgb(55, 65, 81)">ZGC（Z G</span><span data-lake-id="u5c1ceb11" id="u5c1ceb11">arbage Collector）是Java 11中引入的一种新的垃圾回收器，他是一个为了实现低延迟而设计的垃圾收集器，具有以下几个特点：</span></p>
  <p data-lake-id="u77c24785" id="u77c24785"><span data-lake-id="u9f6acd95" id="u9f6acd95">​</span><br></p>
  <ol list="u08078feb">
   <li fid="ufc3f5cd7" data-lake-id="ueea4bbe8" id="ueea4bbe8" data-lake-index-type="true"><strong><span data-lake-id="ude077a6b" id="ude077a6b">低停顿</span></strong><span data-lake-id="ue1c36afa" id="ue1c36afa">：ZGC的目标是保证暂停时间非常短，ZGC 的目标是保持最大暂停时间在亚毫秒级，且这个暂停时间不会随着堆、live-set 或 root-set 的大小而增加。</span></li>
   <li fid="ufc3f5cd7" data-lake-id="ua0940915" id="ua0940915" data-lake-index-type="true"><strong><span data-lake-id="u39a1b71f" id="u39a1b71f">高吞吐量</span></strong><span data-lake-id="ua1497592" id="ua1497592">：ZGC 是一个并发垃圾收集器，意味着大部分垃圾收集工作都是在 Java 线程继续执行的同时完成的。这极大地减少了垃圾收集对应用程序响应时间的影响。</span></li>
   <li fid="ufc3f5cd7" data-lake-id="u0fca71f6" id="u0fca71f6" data-lake-index-type="true"><strong><span data-lake-id="ud8fc4e32" id="ud8fc4e32">兼容性</span></strong><span data-lake-id="u03f73215" id="u03f73215">：ZGC与现有的Java应用程序完全兼容，并且无需更改代码即可使用。但是也有一定的限制，仅支持 Linux 64位系统，不支持 32位平台。不支持使用压缩指针，采用内存分区管理。</span></li>
   <li fid="ufc3f5cd7" data-lake-id="uf7815056" id="uf7815056" data-lake-index-type="true"><strong><span data-lake-id="u467d61db" id="u467d61db">简单性</span></strong><span data-lake-id="uda13137f" id="uda13137f">：ZGC设计简单，代码库较小，因此它更容易维护和扩展。</span></li>
   <li fid="ufc3f5cd7" data-lake-id="u709be54f" id="u709be54f" data-lake-index-type="true"><strong><span data-lake-id="u6a697dd8" id="u6a697dd8">支持大堆</span></strong><span data-lake-id="u72aa91e7" id="u72aa91e7">：ZGC 能处理从 8MB 到 16TB 大小的堆，适用于大规模内存需求的应用程序</span></li>
   <li fid="ufc3f5cd7" data-lake-id="u1172cfa5" id="u1172cfa5" data-lake-index-type="true"><strong><span data-lake-id="u1d8346b1" id="u1d8346b1">不分代回收</span></strong><span data-lake-id="ue1dbeaee" id="ue1dbeaee">：ZGC在垃圾回收时对全量内存进行标记，但是回收时仅针对分内存回收，优先回收垃圾比较多的页面。</span></li>
  </ol>
  <p data-lake-id="u748a8aa1" id="u748a8aa1"><br></p>
  <p data-lake-id="u0fc04c48" id="u0fc04c48"><span data-lake-id="u5e6de22d" id="u5e6de22d">因此，ZGC是一种新的、高效的、低停顿的垃圾回收器，适用于内存大小从几GB到数TB的应用程序。它的设计目标是在保证高吞吐量的同时保证最短的暂停时间，并且易于使用和维护。</span></p>
 </body>
</html>